import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Point;


public class Ligne extends Dessinable 
{
	private Point p1;
	private Point p2;
	private Color couleur;
	private float epaisseur;
	private int style;
	
	public Ligne(Point p1, Point p2, Color couleur, float epaisseur,int style)
	{
		this.p1 = p1;
		this.p2 = p2;
		this.couleur = couleur;
		this.epaisseur = epaisseur;
		this.style = style;
	}
	
	public void dessiner(Graphics2D g) 
	{	
		switch (style)
		{
		case 0: {
			g.setStroke(new BasicStroke(epaisseur*2));
			break;
		}
		case 1:{
			float[] s = {10,5}; /** les pointillés seront 2 fois plus long que les blancs */
			g.setStroke( new BasicStroke(epaisseur*2,
					BasicStroke.CAP_BUTT,
			        BasicStroke.JOIN_MITER,
			        10.0f,
			        s,
			        0
			        ));
			break;
		}
		case 3: {
			float[] s = {2,2}; /** les pointillés seront identiques*/
			g.setStroke( new BasicStroke(epaisseur*2,
					BasicStroke.CAP_BUTT,
			        BasicStroke.JOIN_MITER,
			        10.0f,
			        s,
			        0
			        ));
			break;
		}
		case 4:{
			float[] s = {2,2}; /** les pointillés seront 2 fois plus long que les blancs */
			g.setStroke( new BasicStroke(epaisseur*2,
					BasicStroke.CAP_BUTT,
			        BasicStroke.JOIN_MITER,
			        10.0f,
			        s,
			        0
			        ));
			break;
		}
		default:
			g.setStroke(new BasicStroke(epaisseur*2));
			break;
		}
		g.setColor(couleur);
		g.drawLine(p1.x,p1.y,p2.x,p2.y);
	}

}
